var jweixin = require('@/components/jweixin-module/index');
import request from './request';
import config from '@/common/config.js'
export default {
	//判断是否在微信中  
	isWechat: function() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			// console.log('是微信客户端')
			return true;
		} else {
			// console.log('不是微信客户端')
			return false;
		}
	},
	//初始化sdk配置  
	initJssdkShare: function(callback) {
		let url = window.location.href.split('#/')[0];
		//初始化的时候传入公众号的appid
		request.get('wechat/getWxJsConfig',{url:encodeURIComponent(url),appid:config.appid}).then(res=>{
			console.log("res:")
			console.log(res)
			jweixin.config({
				debug: false,
				appId: res.result.appid,
				timestamp: res.result.timestamp,
				nonceStr: res.result.nonceStr,
				signature: res.result.signature,
				jsApiList: ["updateAppMessageShareData","scanQRCode","chooseWXPay"]
			});
			//配置完成后，再执行分享等功能  
			if (callback) {
				callback();
			}
		})
	},
	//在需要自定义分享的页面中调用  
	share: function(shareData) {
		if (!this.isWechat()) {
			return;
		}
		//每次都需要重新初始化配置，才可以进行分享  
		this.initJssdkShare(function() {
			jweixin.ready(function() {
				//分享给朋友接口  
				console.log('分享给朋友')
				jweixin.updateAppMessageShareData(shareData);
			});
		});
	},
	
	//微信公众号支付
	wxPay(paydata,callback){
		if (!this.isWechat()) {
			return;
		}
		this.initJssdkShare(function() {
			jweixin.ready(function() {
				jweixin.chooseWXPay({
				    timestamp: paydata.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
				    nonceStr: paydata.nonceStr, // 支付签名随机串，不长于 32 位
				    package: paydata.packageValue, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
				    signType: 'MD5', // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
				    paySign: paydata.paySign, // 支付签名
				    success: function (res) {
						console.log(res)
				        callback&&callback(res)
				    }
				});
			})
		});
		
	},
	
	scanCode:function(callback){
		if (!this.isWechat()) {
			return;
		}
		this.initJssdkShare(function() {
			jweixin.ready(function() {
				jweixin.scanQRCode({
				  needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
				  scanType: ["qrCode"], // 可以指定扫二维码还是一维码，默认二者都有
				  success: function (res) {
				    var result = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
					callback&&callback(result)
				  }
				})
			})
		})
	}
	
}